home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / theama_1 / bs.txt < prev    next >
Text File  |  1999-08-05  |  2KB  |  48 lines

  1. HOW BINARY SHIFTING WORKS
  2. =========================
  3.  
  4. Oh no... You don't know? Well firstly, if you are reading this document in Notepad then stick on Word Wrap (Edit->Word Wrap) so you can view this document easier.
  5.  
  6. Binary shifting is all to do with how the computer handles numbers...
  7.  
  8. Every number is made up of so many bits. I mean let's face it, the computer understands 1 or 0. Base 2 number system. With me so far? The computer only understands either if there is an electrical impulse, or no electrical impulse (1 for closed (Impulse) or 0 for open (No impulse)). So we have figured that the computer holds numbers in binary (Base 2).
  9.  
  10. Here is an example of a binary number.
  11. 0001
  12. That is 1 in base 10 (Decimal).
  13.  
  14. Now here's another.
  15. 0010
  16. 2
  17.  
  18. 0011
  19. 3
  20.  
  21. 0100
  22. 4
  23.  
  24. Now, if you use that mossive brain you need for programming, you will immediately notice "Aha! The numbers appear to go up in powers of 2!" And that is the key to binary shifting.
  25.  
  26. Let's say we wanted to divide a number by 2. We could use divide, but that's slow. Too slow. We can be faster! So we simply ask the computer kick it one step to the right!
  27.  
  28. 0010 = 2  Shift it to the right 1
  29. 0001 = 1
  30.  
  31. 2 / 2 = 1
  32.  
  33. 0100 = 4  Shift it to the right 1
  34. 0010 = 2
  35.  
  36. 4 / 2 = 2
  37.  
  38. Do you see it now? Do you understand how handy that can be??? If you need to divide by a multiple of 2, then use a binary shift, and it's so much faster! And it works the same for multiplication!
  39.  
  40. 0010 = 2
  41. 0100 = 4
  42.  
  43. 0010 = 2
  44. 1000 = 8
  45.  
  46. Now you might be thinking "Ooh heck - I gotta work in binary now!", well it's not like that. Just call the functions in the DLL and you got it made.
  47.  
  48. So there you have it.